【レポート】Security Best Practices on S3 #AWSSummit
こんにちは、城岸です。
2019/6/12(水)~14(金) の期間で開催されている、AWS Summit 2019 Tokyo からセッションをレポートします。 本記事は「Security Best Practices on S3」のセッションレポートになります。
セッション概要
スピーカー:焼尾 徹氏 (アマゾン ウェブ サービス ジャパン株式会社) セッション名:Security Best Practices on S3
AWSでデータを保管するのに最も基本となるストレージ Amazon Simple Storage Service (S3)を利用するにあたって、AWSで最優先事項となるセキュリティについてどのように考えるか、基本的なところもおさらいしながら紹介します。
レポート
アジェンダ
- Amazon S3にデータが格納されるシーン
- Amazon S3をセキュアに活用するにあたっての基本要素
- Amazon S3への認証
- Amazon S3のセキュリティとそのベストプラクティス
Amazon S3にデータが格納されるシーン
- AWSのサービスを利用する際にはAmazon S3を間接的/直接的に利用している
- ユースケース
- データの保護、移行(バックアップ、サーバーマイグレーションなど
- データレイク(機械学習、IoTなど
- Webサービスのコンテンツオフロード(写真管理サイト、ECサイトなど
Amazon S3をセキュアに活用するにあたっての基本要素
- 最小権限の原則
- アクセスは最小限のセットで開始する、必要に応じてアクセス許可を追加
- 適切なアクセスを管理
-
セキュアに利用するにあたって理解しておくべきAWSサービス
- AWS Identity and Access Management (IAM)
- Amazon Virtual Private Cloud (Amazon VPC)
-
Amazon Simple Storage Service(Amazon S3)
-
IAMで「誰が、どのような操作(Get、Putなど)を、どのリソース(S3のXXオプジェクトなど)に対し、どのような条件のときに」を制御できる
-
S3に対しての権限制御
- IAMユーザーポリシー(IAMユーザーに対して付与
-
S3バケットポリシー(バケットに対して付与
-
S3に対するアクセス経路
- デフォルトではインターネットを経由したアクセスとなる
- AWS内部のネットワークを通してS3にアクセスするためにはVPCエンドポイントを利用する
- VPC内リソースは直接VPCエンドポイントにアクセス
- オンプレからはVPC内のプロキシサーバー経由でVPCエンドポイントにアクセス
Amazon S3への認証
- リクエストを許可する方法は以下の4つ、許可/拒否がある場合は拒否が優先される
- ポリシーの適用
- ユーザーチェック
- バケットチェック
-
オブジェクトチェック
-
アカウントを跨いだアクセスを実現するには以下の2通りの方法がある
- バケットポリシーとIAMユーザーポリシーを利用する
- AssumeRoleを使ってアクセスする
Amazon S3のセキュリティとそのベストプラクティス
- 偶発的な情報の開示
- IAMによる適切な権限管理
- VPCのネットワークの理解
- BlockPubliAcsess
- 暗号化
- サーバーサイド暗号化(KMSの鍵を利用すればS3への権限とKMSの権限がなければオブジェクトを復元することができない
-
クライアントサイド暗号化(アプリ側で暗号化
-
データの不整合
- IAMによる適切な権限管理
- データの整合性チェック
- バージョニング
-
Object Lock(Write Once Read many
-
過失による削除
- バージョニング
- Object Lock(Write Once Read many
-
証跡の取得、ユーザー行動の変化を観察
- Cloud Trailの利用(アプリケーション用のバケットとTrailログのバケットは分ける
- Macieの利用
-
GardDutyと類似するサービス(S3に対する操作で怪しいところを検知、機微な情報がないかを検知、イベント発火
-
インフラストラクチャの可溶性
- S3の耐久性
- ストレージクラスの理解
- クロスリージョンレプリケーション
まとめ
S3を適切に扱うための要点がまとめられたセッションでした。
俺のS3は大丈夫か?と思われる方はこのセッションを参考にS3の設定をチェックしてみてはいかがでしょうか。